data SEGMENT
    month01 db "January$"
    month02 db "February$"
    month03 db "March$"
    month04 db "April$"
    month05 db "May$"
    month06 db "June$"
    month07 db "July$"
    month08 db "August$"
    month09 db "Sepetember$"
    month10 db "October$"
    month11 db "November$"
    month12 db "December$"
    months dw \
        month01,month02,month03,\
        month04,month05,month06,\
        month07,month08,month09,\
        month10,month11,month12
data ENDS
code SEGMENT
    assume ds:data, cs:code
start:
    mov ax, data
    mov ds, ax
    lea bx, month01
    mov ah, 1
    int 21h
    cmp al, 13
    je start
    cmp al, '1'
    jl exit
    jg two_to_nine
    int 21h
    cmp al, 13
    je one
    cmp al, '0'
    jl exit
    cmp al, '2'
    jg exit
    sub al, 39
    jmp result
one:
    mov al, 0
    jmp result
two_to_nine:
    cmp al, '9'
    jg exit
    sub al, '1'
result:
    lea di, months
    shl al, 1
    mov ah, 0
    add di, ax
    mov dx, [bx + di]
    mov ah, 9
    int 21h
    mov ah, 2
    mov dl, 10
    int 21h
    jmp start
exit:
    mov ax, 4c00h
    int 21h
code ENDS
end start